// pages/userInfo/changeMyInfo.js
const app = getApp()
import api from '../../config/api'
import path from '../../config/path'
const { $Message } = require('../../dist/base/index');
const { $Toast } = require('../../dist/base/index');
Page({

  /**
   * 页面的初始数据
   */
  data: {
    picLocal:app.globalData.picLocal,
    user:null,
    chooseSex:0,
    allRole:[],
    roleIndex:0,
    files:[],
    changeHead:false,
    sureVisible:false,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    //将用户数据取出来放在data里面
    this.setData({
      user:wx.getStorageSync('loginData')
    })
    let params = {
      type:'hrent_role_type'
    }
    //查询所有的角色类型
    api.post(path.path.findDict,params).then(res=>{
      this.setData({
        allRole:res.data
      })
      //循环所有的角色类型，判断当前角色是什么角色，确定选择器默认的下标
      for(let i = 0;i<res.data.length;i++){
        if(res.data[i].label==this.data.user.roleStr){
          this.setData({
            roleIndex:i
          })
        }
      }
    }).catch(err=>{
      console.log(err)
    })
    //将当前用户的头像存入files中
    this.data.files.push(this.data.user.headUrl)
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  //选择性别发生改变
  handleSexChange({detail={}}){
    this.data.user.sex = detail.value=='男'?0:1
    this.setData({
      user:this.data.user
    })
  },
  rolePickerChange(e){
    this.setData({
      roleIndex:e.detail.value
    })
  },
  datePickerChange(e){
    this.data.user.birthday=e.detail.value
    this.setData({
      user:this.data.user
    })
  },
  previewImage(e) {
    wx.previewImage({
      current: e.currentTarget.id, // 当前显示图片的http链接
      urls: this.data.files, // 需要预览的图片http链接列表
    });
  },
  chooseImage() {
    const that = this;
    wx.chooseImage({
      sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
      success(res) {
        //如果当前用户为小程序用户，也就是租户，那么就不可以更换头像
        console.log(that.data.user.role)
        if(that.data.user.role=='0'){
          $Toast({
            content:'暂未开放租户上传头像的功能',
            type:'error'
          })
          return;
        }
        // 返回选定照片的本地文件路径列表，tempFilePath可以作为img标签的src属性显示图片
        //将当前用户的头像替换为选择的图片
        let head = [];
        head.push(res.tempFilePaths);
        // console.log(res)
        //向后端发送请求，上传图片，成功之后返回访问路径
        wx.uploadFile({
          filePath: res.tempFilePaths[0],
          name: 'file',
          url: app.globalData.baseUrl+path.path.uploadHead,
          header:{
            "token":wx.getStorageSync('token'),
            "content-type":"multipart/form-data;charset=utf-8"
          },
          success(res){
            //将用户的头像信息修改
            console.log(res)
          },
          fail(res){
            console.log(res)
          }
        })
        that.data.user.headUrl = res.tempFilePaths;
        that.setData({
          // files: that.data.files.concat(res.tempFilePaths),
          files:head,
          user:that.data.user
        });
      },
    });
  },
  //表单绑定值变化
  changeName(e){
    this.data.user.name=e.detail.detail.value;
    this.setData({
      user:this.data.user
    })
  },
  changeMobile(e){
    this.data.user.mobile=e.detail.detail.value;
    this.setData({
      user:this.data.user
    })
  },
  changeEmail(e){
    this.data.user.email=e.detail.detail.value;
    this.setData({
      user:this.data.user
    })
  },


  //修改用户信息
  sureChange(){
    //首先判断必须输入的字段是否有值
    console.log(this.data.user)
    if(this.data.user.name==''){
      $Toast({
        content:'请输入用户名',
        type:'warning'
      })
      return;
    }else if(this.data.user.mobile==''){
      $Toast({
        content:'请输入手机号',
        type:'warning'
      })
      return;
    }
    //弹出对话框，询问用户是否需要修改
    this.setData({
      sureVisible:true
    })
    
  },
  //还原用户数据
  reductionData(){
    //获取登录用户信息
    api.post(path.path.getLoginData,{

    }).then(res=>{
      wx.setStorageSync('loginData', res.data);
      this.setData({
        user:res.data
      })
      wx.setStorageSync("isLogin",true)
    }).catch(err=>{
      console.log(err)
    })
  },
  sureAlertOk(){
    //如果通过表单验证，那么就将数据传给后台，更新数据
    let params = {
      id:this.data.user.id,
      name:this.data.user.name,
      mobile:this.data.user.mobile,
      email:this.data.user.email,
      birthday:this.data.user.birthday,
      sex:this.data.user.sex
    }
    api.post(path.path.userSave,params).then(res=>{
      console.log(res)
      if(res.code=='200'){
        $Message({
          content:'修改成功',
          type:'success'
        })
        this.setData({
          sureVisible:false
        })
        wx.switchTab({
          url: '../userInfo/myInfo',
        })
      }
    }).catch(err=>{
      console.log(err)
    })
  },
  sureAlertCancel(){
    this.setData({
      sureVisible:false
    })
  }
})